Recent technology development created an opportunity to hand over low-cost, low-maintenance small mobile (“pervasive”) computing devices to professional and non-professional workers who are not always, or perhaps never, within reach of a desktop computer.
Such pervasive devices must be able to integrate with corporate data systems (such as SAP R/3 by SAP Aktiengesellschaft, Walldorf (Baden), Germany) and business processes that are enabled by information technology (IT).
When presenting the application, the devices render objects to the user-interface of the device. For example, the devices visually render screen objects (e.g., tiles) on a screen, or aurally render voice to a loudspeaker. Often layout information for each object and for each device is specified (i.e. “hard-coded”) into the application specification. However, it is not desired to specify for each device type and for each object.
Furthermore, the current state of communication reliability, communication costs, and device battery capacity make it necessary to support disconnected (“off-line”) as well as connected (“on-line”) operating modes (of the computing device). Unfortunately, there is a shortage of tools to meet these requirements.
From the standpoint of application development, maintenance and deployment, there is a further additional challenge of supporting different computing devices. The computing devices are, for example, consumer devices with the Windows CE operating system (available for at least 4 different screen sizes), wireless telephones with micro-browsers, and traditional wire-bound telephones. As a further medium, voice can deliver corporate content via interactive voice response systems using telephone push buttons or voice-recognition and voice-synthesis.
Hence, there is a need to create customizable applications for pervasive computing devices. Further, since communication infrastructures are developing rapidly but unevenly throughout the world, the development method should support mixed on-line and off-line usage of the applications without imposing large discontinuities and resultant training costs on the users.
In other words, it is desired to provide server-based layouts that supports multiple implementations of different computing devices and that support multiple media.